<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>小苑の博客 - ( •̀ ω •́ )✧</title><meta name="author" content="coderyh"><meta name="copyright" content="coderyh"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="网站描述">
<meta property="og:type" content="website">
<meta property="og:title" content="小苑の博客">
<meta property="og:url" content="http://localhost:4000/blog/index.html">
<meta property="og:site_name" content="小苑の博客">
<meta property="og:description" content="网站描述">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="http://localhost:4000/blog/img/avatar.jpg">
<meta property="article:author" content="coderyh">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://localhost:4000/blog/img/avatar.jpg"><link rel="shortcut icon" href="/blog/img/favicon.png"><link rel="canonical" href="http://localhost:4000/blog/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/blog/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
  root: '/blog/',
  algolia: undefined,
  localSearch: {"path":"/blog/./search.xml","preload":false,"top_n_per_article":1,"unescape":false,"languages":{"hits_empty":"找不到您查询的内容：${query}","hits_stats":"共找到 ${hits} 篇文章"}},
  translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"簡"},
  noticeOutdate: {"limitDay":365,"position":"top","messagePrev":"It has been","messageNext":"days since the last update, the content of the article may be outdated."},
  highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '天',
  dateSuffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'fancybox',
  Snackbar: undefined,
  infinitegrid: {
    js: 'https://cdn.jsdelivr.net/npm/@egjs/infinitegrid/dist/infinitegrid.min.js',
    buttonText: '加载更多'
  },
  isPhotoFigcaption: true,
  islazyload: false,
  isAnchor: false,
  percent: {
    toc: true,
    rightside: false,
  },
  autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: '小苑の博客',
  isPost: false,
  isHome: true,
  isHighlightShrink: false,
  isToc: false,
  postUpdate: '2024-06-05 15:47:56'
}</script><script>(win=>{
      win.saveToLocal = {
        set: (key, value, ttl) => {
          if (ttl === 0) return
          const now = Date.now()
          const expiry = now + ttl * 86400000
          const item = {
            value,
            expiry
          }
          localStorage.setItem(key, JSON.stringify(item))
        },
      
        get: key => {
          const itemStr = localStorage.getItem(key)
      
          if (!itemStr) {
            return undefined
          }
          const item = JSON.parse(itemStr)
          const now = Date.now()
      
          if (now > item.expiry) {
            localStorage.removeItem(key)
            return undefined
          }
          return item.value
        }
      }
    
      win.getScript = (url, attr = {}) => new Promise((resolve, reject) => {
        const script = document.createElement('script')
        script.src = url
        script.async = true
        script.onerror = reject
        script.onload = script.onreadystatechange = function() {
          const loadState = this.readyState
          if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
          script.onload = script.onreadystatechange = null
          resolve()
        }

        Object.keys(attr).forEach(key => {
          script.setAttribute(key, attr[key])
        })

        document.head.appendChild(script)
      })
    
      win.getCSS = (url, id = false) => new Promise((resolve, reject) => {
        const link = document.createElement('link')
        link.rel = 'stylesheet'
        link.href = url
        if (id) link.id = id
        link.onerror = reject
        link.onload = link.onreadystatechange = function() {
          const loadState = this.readyState
          if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
          link.onload = link.onreadystatechange = null
          resolve()
        }
        document.head.appendChild(link)
      })
    
      win.activateDarkMode = () => {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = () => {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
        if (t === 'dark') activateDarkMode()
        else if (t === 'light') activateLightMode()
      
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
      const detectApple = () => {
        if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
          document.documentElement.classList.add('apple')
        }
      }
      detectApple()
    })(window)</script><meta name="generator" content="Hexo 6.3.0"></head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">加载中...</div></div></div><script>(()=>{
  const $loadingBox = document.getElementById('loading-box')
  const $body = document.body
  const preloader = {
    endLoading: () => {
      $body.style.overflow = ''
      $loadingBox.classList.add('loaded')
    },
    initLoading: () => {
      $body.style.overflow = 'hidden'
      $loadingBox.classList.remove('loaded')
    }
  }

  preloader.initLoading()
  window.addEventListener('load',() => { preloader.endLoading() })

  if (false) {
    document.addEventListener('pjax:send', () => { preloader.initLoading() })
    document.addEventListener('pjax:complete', () => { preloader.endLoading() })
  }
})()</script><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/blog/img/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/blog/archives/"><div class="headline">文章</div><div class="length-num">25</div></a><a href="/blog/tags/"><div class="headline">标签</div><div class="length-num">16</div></a><a href="/blog/categories/"><div class="headline">分类</div><div class="length-num">8</div></a></div><hr class="custom-hr"/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/blog/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> 导航</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/blog/navigation/work/"><i class="fa-fw fas fa-coffee"></i><span> 工作</span></a></li><li><a class="site-page child" href="/blog/navigation/moyu/"><i class="fa-fw fas fa-th-list"></i><span> 摸鱼</span></a></li><li><a class="site-page child" href="/blog/navigation/code/"><i class="fa-fw fas fa-code"></i><span> 开发</span></a></li><li><a class="site-page child" href="/blog/navigation/design/"><i class="fa-fw fas fa-pencil-alt"></i><span> 设计</span></a></li><li><a class="site-page child" href="/blog/navigation/resource/"><i class="fa-fw fas fa-book"></i><span> 资源</span></a></li><li><a class="site-page child" href="/blog/navigation/tool/"><i class="fa-fw fas fa-wrench"></i><span> 工具</span></a></li><li><a class="site-page child" href="/blog/navigation/project/"><i class="fa-fw fas fa-project-diagram"></i><span> 项目</span></a></li></ul></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-desktop"></i><span> 软件</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/blog/software/usual/"><i class="fa-fw fas fa-desktop"></i><span> 常用</span></a></li><li><a class="site-page child" href="/blog/software/code/"><i class="fa-fw fas fa-code"></i><span> 开发</span></a></li><li><a class="site-page child" href="/blog/software/open/"><i class="fa-fw fas fa-code-branch"></i><span> 开源</span></a></li></ul></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fa fa-compass"></i><span> 目录</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/blog/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></li><li><a class="site-page child" href="/blog/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></li><li><a class="site-page child" href="/blog/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/blog/gallery/"><i class="fa-fw fas fa-images"></i><span> 图库</span></a></div><div class="menus_item"><a class="site-page" href="/blog/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/blog/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fa fa-user"></i><span> 设置</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/blog/pro/"><i class="fa-fw fas fa-user"></i><span> 页面管理</span></a></li><li><a class="site-page child" href="/blog/admin/"><i class="fa-fw fas fa-user"></i><span> 后台管理</span></a></li><li><a class="site-page child" href="/blog/bridge/"><i class="fa-fw fas fa-cog"></i><span> 配置管理</span></a></li></ul></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background: linear-gradient(20deg, #0062be, #925696, #cc426e, #fb0347)"><nav id="nav"><span id="blog-info"><a href="/blog/" title="小苑の博客"><span class="site-name">小苑の博客</span></a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search" href="javascript:void(0);"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/blog/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> 导航</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/blog/navigation/work/"><i class="fa-fw fas fa-coffee"></i><span> 工作</span></a></li><li><a class="site-page child" href="/blog/navigation/moyu/"><i class="fa-fw fas fa-th-list"></i><span> 摸鱼</span></a></li><li><a class="site-page child" href="/blog/navigation/code/"><i class="fa-fw fas fa-code"></i><span> 开发</span></a></li><li><a class="site-page child" href="/blog/navigation/design/"><i class="fa-fw fas fa-pencil-alt"></i><span> 设计</span></a></li><li><a class="site-page child" href="/blog/navigation/resource/"><i class="fa-fw fas fa-book"></i><span> 资源</span></a></li><li><a class="site-page child" href="/blog/navigation/tool/"><i class="fa-fw fas fa-wrench"></i><span> 工具</span></a></li><li><a class="site-page child" href="/blog/navigation/project/"><i class="fa-fw fas fa-project-diagram"></i><span> 项目</span></a></li></ul></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-desktop"></i><span> 软件</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/blog/software/usual/"><i class="fa-fw fas fa-desktop"></i><span> 常用</span></a></li><li><a class="site-page child" href="/blog/software/code/"><i class="fa-fw fas fa-code"></i><span> 开发</span></a></li><li><a class="site-page child" href="/blog/software/open/"><i class="fa-fw fas fa-code-branch"></i><span> 开源</span></a></li></ul></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fa fa-compass"></i><span> 目录</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/blog/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></li><li><a class="site-page child" href="/blog/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></li><li><a class="site-page child" href="/blog/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/blog/gallery/"><i class="fa-fw fas fa-images"></i><span> 图库</span></a></div><div class="menus_item"><a class="site-page" href="/blog/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/blog/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fa fa-user"></i><span> 设置</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/blog/pro/"><i class="fa-fw fas fa-user"></i><span> 页面管理</span></a></li><li><a class="site-page child" href="/blog/admin/"><i class="fa-fw fas fa-user"></i><span> 后台管理</span></a></li><li><a class="site-page child" href="/blog/bridge/"><i class="fa-fw fas fa-cog"></i><span> 配置管理</span></a></li></ul></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">小苑の博客</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/xxxxx" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="mailto:xxxxxx@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left"><a href="/blog/20240105211227/" title="学习笔记"><img class="post-bg" src="http://localhost:8080/image?1704460347000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="学习笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240105211227/" title="学习笔记"><i class="fas fa-thumbtack sticky"></i>学习笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-05T13:12:27.000Z" title="发表于 2024-01-05 21:12:27">2024-01-05</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB/">默认分类</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/%E9%BB%98%E8%AE%A4%E6%A0%87%E7%AD%BE/">默认标签</a></span></div><div class="content">JS实现图片上传在 JavaScript 中进行文件上传可以使用 HTML5 的 File API。下面是一个示例代码来展示如何通过 JavaScript 上传图片：

HTML部分：

1&lt;input type=&quot;file&quot; id=&quot;uploadBtn&quot;&gt;


JavaScript部分

12345678910111213141516171819202122232425262728293031323334353637383940414243document.getElementById(&quot;uploadBtn&quot;).addEventListener(&#x27;click&#x27;, function() &#123;       // 获取文件输入元素    const fileInput = document.getElementById(&quot;uploadBtn&quot;);       // 判断是否有选择了文件并且只能选择一张图片     if (fileInput.files &amp;&amp ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/blog/20240103230802/" title="Linux系列"><img class="post-bg" src="http://localhost:8080/image?1704294482000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="Linux系列"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240103230802/" title="Linux系列"><i class="fas fa-thumbtack sticky"></i>Linux系列</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-03T15:08:02.000Z" title="发表于 2024-01-03 23:08:02">2024-01-03</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/">学习笔记</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/Linux/">Linux</a></span></div><div class="content">配置Linux免密码登录
假如有两台主机：

主机A：192.168.0.1
主机B：192.168.0.2


123456781.主机A生成密钥对ssh-keygen -t rsa2.将公钥复制到主机Bssh-copy-id -p 22 -i ~/.ssh/id_rsa.pub root@192.168.0.23.此时会提示输入登录密码，此后再次登录主机B时，就不需要密码了ssh -p 22 root@39.107.12.141

1.Windows生成密钥对
123456# Windows下生成的密钥对位于此目录下C:\Users\用户名\.ssh# 生成的密钥对位于以下两个文件内id_rsaid_rsa.pub



SSH为远程主机配置别名1.~/.ssh/config：当前用户的配置文件，添加如下内容
12345Host ali	user root	port 22	HostName 192.168.0.2	identityfile ~/.ssh/id_rsa

通过如上配置，我们在通过ssh连接远程主机时，就可以通过自定义的名称访问
1234# 使用 用户名@ipssh - ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/blog/20231208180125/" title="Butterfly-主题配置-1"><img class="post-bg" src="http://localhost:8080/image?1702029685000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="Butterfly-主题配置-1"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20231208180125/" title="Butterfly-主题配置-1"><i class="fas fa-thumbtack sticky"></i>Butterfly-主题配置-1</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-12-08T10:01:25.000Z" title="发表于 2023-12-08 18:01:25">2023-12-08</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E4%B8%BB%E9%A2%98/">主题</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/Hexo/">Hexo</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/blog/tags/Butterfly/">Butterfly</a></span></div><div class="content">
主题文档

语言修改站点配置文件_config.yaml
默认语言是 en
注意支持三种配置文件

default（en）
zh-CN（简体中文）
zh-TW（繁体中文）

导航栏设置参数设置主题配置文件中
1234nav:  logo: #image  display_title: true  fixed: false # fixed navigation bar




参数
解释



logo
网站的 logo，支持图片，直接填入图片链接


display_title
是否显示网站标题，填写 true 或者 false


fixed
是否固定状态栏，填写 true 或者 false


菜单&#x2F;目录修改主题配置文件
123456789Home: / || fas fa-homeArchives: /archives/ || fas fa-archiveTags: /tags/ || fas fa-tagsCategories: /categories/ || fas fa-folder-openList||fas fa-list:  Music: /music/  ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/blog/20240111022327/" title="随机图片接口"><img class="post-bg" src="http://localhost:8080/image" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="随机图片接口"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240111022327/" title="随机图片接口">随机图片接口</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-10T18:23:27.000Z" title="发表于 2024-01-11 02:23:27">2024-01-11</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB/">默认分类</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/%E9%BB%98%E8%AE%A4%E6%A0%87%E7%AD%BE/">默认标签</a></span></div><div class="content">



博天API
https://api.btstu.cn/doc/sjbz.php




保罗
https://api.paugram.com/help/wallpaper



樱道
https://img.r10086.com/



岁月小筑
https://img.xjh.me/



EEE.DOG
https://www.eee.dog/tech/rand-pic-api.html



likepoems
https://api.likepoems.com/



缙哥哥博客
https://api.dujin.org/pic/yuanshen/



LoliAPI
https://www.loliapi.com/












樱花
网站地址：https://www.dmoe.cc/

使用示例：



https://www.dmoe.cc/random.php














夏沫博客
网站地址：https://cdn.seovx.com/?mom=302

引用格式：



美图代码示例
二次元代码示例
古风代码示例



https ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/blog/20240105205323/" title="觅思文档使用系列(一)"><img class="post-bg" src="http://localhost:8080/image?2024-01-05 20:53:23" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="觅思文档使用系列(一)"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240105205323/" title="觅思文档使用系列(一)">觅思文档使用系列(一)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-05T12:53:23.000Z" title="发表于 2024-01-05 20:53:23">2024-01-05</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB/">默认分类</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/%E9%BB%98%E8%AE%A4%E6%A0%87%E7%AD%BE/">默认标签</a></span></div><div class="content">觅思文档：介绍

官方网站
MrDoc安装手册


MrDoc 基于 Python3 语言的 Django 框架编写而成。
123456# 测试运行python manage.py runserver 0.0.0.0:8080# 我自己设置的测试账号和密码coderyhcoderyhpassw0rd



觅思文档：文集导入和导出
进入个人中心 –&gt; 我的文集 –&gt; 文集管理 –&gt; 批量导出
进入个人中心 –&gt; 我的文集 –&gt; 文集管理 –&gt; 导入文集 –&gt; 选择一个文集 –&gt; 上传本地文档到选择的文集中（支持.md .docx .txt文件）

觅思文档：数据库分析



描述
数据库






app_admin_emaiverificationcode





app_admin_registercode





app_admin_syssetting





app_admin_useroptions





app_api_appusertoken




个人管理：Token
app_api_usertoken
s ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/blog/20240105205205/" title="7z系列(一)"><img class="post-bg" src="http://localhost:8080/image?1704459125000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="7z系列(一)"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240105205205/" title="7z系列(一)">7z系列(一)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-05T12:52:05.000Z" title="发表于 2024-01-05 20:52:05">2024-01-05</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB/">默认分类</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/%E9%BB%98%E8%AE%A4%E6%A0%87%E7%AD%BE/">默认标签</a></span></div><div class="content">7z：命令行语法
语法格式：

17z &lt;command&gt; [&lt;switches&gt;...] &lt;archive_name&gt; [&lt;file_names&gt;...] [@listfile]


常用参数：




参数
简记
描述





a
压缩
将文件添加到存档
Add
Add files to archive


x
解压
提取具有完整路径的文件
eXtract
eXtract files with full paths


e
提取
从存档中提取文件(不使用目录名)
Extract
Extract files from archive (without using directory names)


u
更新
更新存档中的文件
Update
Update files to archive


d
删除
从存档中删除文件
Delete
Delete files from archive









l
查看
列出存档所有内容
List
List contents of archive


rn
重命名
重命名存档中的文件
Rena ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/blog/20240105204342/" title="Chrome系列(一)"><img class="post-bg" src="http://localhost:8080/image?1704458622000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="Chrome系列(一)"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240105204342/" title="Chrome系列(一)">Chrome系列(一)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-05T12:43:42.000Z" title="发表于 2024-01-05 20:43:42">2024-01-05</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB/">默认分类</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/Chrome/">Chrome</a></span></div><div class="content">开启黑暗模式
在浏览器地址栏输入 chrome:&#x2F;&#x2F;flags，然后按下回车键。之后我们会进入谷歌浏览器的实验室页面。
在页面左上方的搜索框中输入 enable-force-dark 进行搜索。
在搜索的结果中，选择 Force Dark Mode for Web Contents 这一项，点击右侧的下拉菜单选择 Enable。
此时浏览器底部会弹出一个提示内容，提示我们需要重新启动浏览器才可以应用新的设置，点击“relaunch”按钮重启谷歌浏览器。
重启完成后谷歌浏览器已经成功变为暗黑模式了，我们打开的网页也全部被强制转换成了暗黑模式。

数据存放位置
浏览器地址栏输入：chrome://version，会显示谷歌浏览器的一些信息，其中就包括个人数据的存储位置。
接着按照 个人资料路径 打开，里面的 Bookmarks 就是书签文件，其中 History文件存放的是历史记录相关的信息，它是一个 sqlite 数据库文件，详细的数据存放在 urls 表中。





文件
类型

说明



书签数据
BookMarks
文本




历史记录
History
d ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/blog/20240103230517/" title="Java实现哔哩哔哩视频下载"><img class="post-bg" src="http://localhost:8080/image?1704294317000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="Java实现哔哩哔哩视频下载"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240103230517/" title="Java实现哔哩哔哩视频下载">Java实现哔哩哔哩视频下载</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-03T15:05:17.000Z" title="发表于 2024-01-03 23:05:17">2024-01-03</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E7%88%AC%E8%99%AB%E7%B3%BB%E5%88%97/">爬虫系列</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/Java/">Java</a></span></div><div class="content">具体流程
通过BV号获取网页源码
请求的网页源码使用GZIP进行了压缩，需要解压


从网页源码中提取下载链接
音频链接
视频链接


开始下载
普通方式下载
多线程方式下载



注意：

视频可以直接修改为mp4格式
音频需要进行处理

普通方式下载视频（哔哩哔哩）主方法12345678910111213public class Main &#123;    public static void main(String[] args) &#123;        System.out.println(&quot;请输入视频url&quot;);        Scanner scanner = new Scanner(System.in);        String videoUrl = scanner.next();        //开始下载        DownLoad downLoad = new DownLoad(videoUrl);    &#125;&#125;

从BV页面提取下载链接123456789101112131415161718192021222324 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/blog/20240103230333/" title="键盘上F1-F12的作用"><img class="post-bg" src="http://localhost:8080/image?1704294213000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="键盘上F1-F12的作用"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240103230333/" title="键盘上F1-F12的作用">键盘上F1-F12的作用</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-03T15:03:33.000Z" title="发表于 2024-01-03 23:03:33">2024-01-03</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/Windows%E7%B3%BB%E5%88%97/">Windows系列</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/Windoes%E7%B3%BB%E5%88%97/">Windoes系列</a></span></div><div class="content">
F1~F12通常称为功能键

F1：帮助键
替代：点击文件-&gt;帮助的操作
F2：重命名
替代了选中-&gt;右键-&gt;重命名的操作。
F3：搜索按钮
按下F3光标就直接转入搜索栏
F4：浏览器网址列表 
按下F4可以直接查询我们曾入输入的网页地址
F5：刷新
F6：浏览器地址栏定位
F7：在“命令提示符”调用历史指令
F8：启动高级菜单
当我们的电脑启动时，快速按下F8，可以进入启动的高级菜单选项
F9：
F10：需要与Shift组合使用，调用鼠标右键
F11：浏览器进入或退出全屏
F12：另存为……和开发人员工具
在应用程序中，如Word、Excel等程序中按F12可以直接调出另存为。。。。菜单；在浏览器中按F12可以调出“开发人员工具”。
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/blog/20240103230217/" title="Docsify使用笔记"><img class="post-bg" src="http://localhost:8080/image" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="Docsify使用笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/blog/20240103230217/" title="Docsify使用笔记">Docsify使用笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-01-03T15:02:17.000Z" title="发表于 2024-01-03 23:02:17">2024-01-03</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/blog/categories/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/">开发工具</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/blog/tags/%E7%AB%99%E7%82%B9%E7%94%9F%E6%88%90%E5%99%A8/">站点生成器</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/blog/tags/Docsify/">Docsify</a></span></div><div class="content">

官方网站


快速入门
安装脚手架
1npm i docsify-cli -g

初始化项目
1docsify init ./docs

运行项目
1docsify serve docs

在浏览器输入http://localhost:3000进行预览


插件列表
参考资料：

https://cloud.tencent.com/developer/article/2177009


全文搜索12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455&lt;script&gt;  window.$docsify = &#123;    search: &#x27;auto&#x27;, // 默认值    search : [      &#x27;/&#x27;,            // =&gt; /README.md      &#x27;/guide&#x27;,       // =&gt; /guide.md      & ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/blog/page/2/#content-inner">2</a><a class="page-number" href="/blog/page/3/#content-inner">3</a><a class="extend next" rel="next" href="/blog/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/blog/img/avatar.jpg" onerror="this.onerror=null;this.src='/blog/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">coderyh</div><div class="author-info__description">网站描述</div></div><div class="card-info-data site-data is-center"><a href="/blog/archives/"><div class="headline">文章</div><div class="length-num">25</div></a><a href="/blog/tags/"><div class="headline">标签</div><div class="length-num">16</div></a><a href="/blog/categories/"><div class="headline">分类</div><div class="length-num">8</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xxxxxx"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/xxxxx" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="mailto:xxxxxx@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/blog/20240111022327/" title="随机图片接口"><img src="http://localhost:8080/image" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="随机图片接口"/></a><div class="content"><a class="title" href="/blog/20240111022327/" title="随机图片接口">随机图片接口</a><time datetime="2024-01-10T18:23:27.000Z" title="发表于 2024-01-11 02:23:27">2024-01-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/blog/20240105211227/" title="学习笔记"><img src="http://localhost:8080/image?1704460347000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="学习笔记"/></a><div class="content"><a class="title" href="/blog/20240105211227/" title="学习笔记">学习笔记</a><time datetime="2024-01-05T13:12:27.000Z" title="发表于 2024-01-05 21:12:27">2024-01-05</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/blog/20240105205323/" title="觅思文档使用系列(一)"><img src="http://localhost:8080/image?2024-01-05 20:53:23" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="觅思文档使用系列(一)"/></a><div class="content"><a class="title" href="/blog/20240105205323/" title="觅思文档使用系列(一)">觅思文档使用系列(一)</a><time datetime="2024-01-05T12:53:23.000Z" title="发表于 2024-01-05 20:53:23">2024-01-05</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/blog/20240105205205/" title="7z系列(一)"><img src="http://localhost:8080/image?1704459125000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="7z系列(一)"/></a><div class="content"><a class="title" href="/blog/20240105205205/" title="7z系列(一)">7z系列(一)</a><time datetime="2024-01-05T12:52:05.000Z" title="发表于 2024-01-05 20:52:05">2024-01-05</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/blog/20240105204342/" title="Chrome系列(一)"><img src="http://localhost:8080/image?1704458622000" onerror="this.onerror=null;this.src='/blog/img/404.jpg'" alt="Chrome系列(一)"/></a><div class="content"><a class="title" href="/blog/20240105204342/" title="Chrome系列(一)">Chrome系列(一)</a><time datetime="2024-01-05T12:43:42.000Z" title="发表于 2024-01-05 20:43:42">2024-01-05</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
            <i class="fas fa-folder-open"></i>
            <span>分类</span>
            
            </div>
            <ul class="card-category-list" id="aside-cat-list">
            <li class="card-category-list-item "><a class="card-category-list-link" href="/blog/categories/Windows%E7%B3%BB%E5%88%97/"><span class="card-category-list-name">Windows系列</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/blog/categories/%E4%B8%BB%E9%A2%98/"><span class="card-category-list-name">主题</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/blog/categories/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/"><span class="card-category-list-name">学习笔记</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/blog/categories/%E5%BC%80%E5%8F%91/"><span class="card-category-list-name">开发</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/blog/categories/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"><span class="card-category-list-name">开发工具</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/blog/categories/%E7%88%AC%E8%99%AB%E7%B3%BB%E5%88%97/"><span class="card-category-list-name">爬虫系列</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/blog/categories/%E7%AB%99%E7%82%B9%E7%94%9F%E6%88%90%E5%99%A8/"><span class="card-category-list-name">站点生成器</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/blog/categories/%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB/"><span class="card-category-list-name">默认分类</span><span class="card-category-list-count">13</span></a></li>
            </ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/blog/tags/Java/" style="font-size: 1.1em; color: #999">Java</a> <a href="/blog/tags/Docsify/" style="font-size: 1.1em; color: #999">Docsify</a> <a href="/blog/tags/Linux/" style="font-size: 1.1em; color: #999">Linux</a> <a href="/blog/tags/%E9%BB%98%E8%AE%A4%E6%A0%87%E7%AD%BE-date/" style="font-size: 1.1em; color: #999">默认标签{date}</a> <a href="/blog/tags/encrypt/" style="font-size: 1.1em; color: #999">encrypt</a> <a href="/blog/tags/Windoes%E7%B3%BB%E5%88%97/" style="font-size: 1.1em; color: #999">Windoes系列</a> <a href="/blog/tags/Bat/" style="font-size: 1.1em; color: #999">Bat</a> <a href="/blog/tags/Butterfly/" style="font-size: 1.3em; color: #99a1ac">Butterfly</a> <a href="/blog/tags/%E9%BB%98%E8%AE%A4%E6%A0%87%E7%AD%BE/" style="font-size: 1.5em; color: #99a9bf">默认标签</a> <a href="/blog/tags/Frp/" style="font-size: 1.1em; color: #999">Frp</a> <a href="/blog/tags/Chrome/" style="font-size: 1.1em; color: #999">Chrome</a> <a href="/blog/tags/%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/" style="font-size: 1.1em; color: #999">内网穿透</a> <a href="/blog/tags/%E7%AB%99%E7%82%B9%E7%94%9F%E6%88%90%E5%99%A8/" style="font-size: 1.1em; color: #999">站点生成器</a> <a href="/blog/tags/hexo/" style="font-size: 1.1em; color: #999">hexo</a> <a href="/blog/tags/JavaScript/" style="font-size: 1.1em; color: #999">JavaScript</a> <a href="/blog/tags/Hexo/" style="font-size: 1.3em; color: #99a1ac">Hexo</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/blog/archives/2024/01/"><span class="card-archive-list-date">一月 2024</span><span class="card-archive-list-count">12</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/blog/archives/2023/12/"><span class="card-archive-list-date">十二月 2023</span><span class="card-archive-list-count">12</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/blog/archives/2023/11/"><span class="card-archive-list-date">十一月 2023</span><span class="card-archive-list-count">1</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">25</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2023-11-30T16:00:00.000Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总字数 :</div><div class="item-count">20.9k</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2024-06-05T07:47:55.719Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2023 - 2024 By coderyh</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text">页脚自定义文本</div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="translateLink" type="button" title="简繁转换">繁</button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/blog/js/utils.js"></script><script src="/blog/js/main.js"></script><script src="/blog/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.umd.min.js"></script><script>function panguFn () {
  if (typeof pangu === 'object') pangu.autoSpacingPage()
  else {
    getScript('https://cdn.jsdelivr.net/npm/pangu/dist/browser/pangu.min.js')
      .then(() => {
        pangu.autoSpacingPage()
      })
  }
}

function panguInit () {
  if (false){
    GLOBAL_CONFIG_SITE.isPost && panguFn()
  } else {
    panguFn()
  }
}

document.addEventListener('DOMContentLoaded', panguInit)</script><div class="js-pjax"><script>window.typedJSFn = {
  init: (str) => {
    window.typed = new Typed('#subtitle', Object.assign({
      strings: str,
      startDelay: 300,
      typeSpeed: 150,
      loop: true,
      backSpeed: 50,
    }, null))
  },
  run: (subtitleType) => {
    if (true) {
      if (typeof Typed === 'function') {
        subtitleType()
      } else {
        getScript('https://cdn.jsdelivr.net/npm/typed.js/dist/typed.umd.min.js').then(subtitleType)
      }
    } else {
      subtitleType()
    }
  }
}
</script><script>function subtitleType () {
  if (true) {
    typedJSFn.init(["( •̀ ω •́ )✧"])
  } else {
    document.getElementById("subtitle").textContent = "( •̀ ω •́ )✧"
  }
}
typedJSFn.run(subtitleType)</script><script>(() => {
  const $mermaid = document.querySelectorAll('#article-container .mermaid-wrap')
  if ($mermaid.length === 0) return
  const runMermaid = () => {
    window.loadMermaid = true
    const theme = document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'default'

    Array.from($mermaid).forEach((item, index) => {
      const mermaidSrc = item.firstElementChild
      const mermaidThemeConfig = '%%{init:{ \'theme\':\'' + theme + '\'}}%%\n'
      const mermaidID = 'mermaid-' + index
      const mermaidDefinition = mermaidThemeConfig + mermaidSrc.textContent

      const renderFn = mermaid.render(mermaidID, mermaidDefinition)

      const renderV10 = () => {
        renderFn.then(({svg}) => {
          mermaidSrc.insertAdjacentHTML('afterend', svg)
        })
      }

      const renderV9 = svg => {
        mermaidSrc.insertAdjacentHTML('afterend', svg)
      }

      typeof renderFn === 'string' ? renderV9(renderFn) : renderV10()
    })
  }

  const loadMermaid = () => {
    window.loadMermaid ? runMermaid() : getScript('https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js').then(runMermaid)
  }

  btf.addGlobalFn('themeChange', runMermaid, 'mermaid')

  window.pjax ? loadMermaid() : document.addEventListener('DOMContentLoaded', loadMermaid)
})()</script></div><script defer="defer" id="ribbon" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/canvas-ribbon.min.js" size="150" alpha="0.6" zIndex="-1" mobile="false" data-click="true"></script><script id="click-heart" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-heart.min.js" async="async" mobile="false"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span>  数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><hr/><div id="local-search-results"></div><div id="local-search-stats-wrap"></div></div></div><div id="search-mask"></div><script src="/blog/js/search/local-search.js"></script></div></div></body></html>